package cn.edu.ncut.cs.springboot.petmanagementsystem.mapper;

import cn.edu.ncut.cs.springboot.petmanagementsystem.pojo.UserCoupon;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户优惠券Mapper接口
 */
@Mapper
public interface UserCouponMapper extends BaseMapper<UserCoupon> {

    /**
     * 获取用户优惠券列表（包含优惠券详情）
     *
     * @param userId 用户ID
     * @return 用户优惠券列表
     */
    List<UserCoupon> selectUserCouponsWithDetail(@Param("userId") Long userId);

    /**
     * 获取用户可用优惠券列表
     *
     * @param userId 用户ID
     * @return 可用优惠券列表
     */
    List<UserCoupon> selectAvailableUserCoupons(@Param("userId") Long userId);

    /**
     * 检查用户是否已领取该优惠券
     *
     * @param userId 用户ID
     * @param couponId 优惠券ID
     * @return 领取数量
     */
    Integer countUserCoupon(@Param("userId") Long userId, @Param("couponId") Long couponId);
}
